home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / src / quads.s < prev    next >
Text File  |  1999-02-04  |  2KB  |  93 lines

  1.  
  2. ; Storm C Compiler
  3. ; Work2:Mesa3/Mesa-3.0/src/quads.c
  4.     mc68030
  5.     mc68881
  6.  
  7.     SECTION "_basic_quad:0",CODE
  8.  
  9.  
  10. ;static void basic_quad( GLcontext *ctx,
  11. _basic_quad
  12.     movem.l    d2-d5/a2,-(a7)
  13.     movem.l    $1C(a7),d0/d2/d5
  14.     movem.l    $28(a7),d3/d4
  15.     move.l    $18(a7),a2
  16. L7
  17. ;   (*ctx->Driver.TriangleFunc)( ctx, v0, v1, v3, pv );
  18.     move.l    d4,-(a7)
  19.     move.l    d3,-(a7)
  20.     move.l    d2,-(a7)
  21.     move.l    d0,-(a7)
  22.     move.l    a2,-(a7)
  23.     move.l    $9A0(a2),a0
  24.     jsr    (a0)
  25.     add.w    #$14,a7
  26. ;   (*ctx->Driver.TriangleFunc)( ctx, v1, v2, v3, pv );
  27.     move.l    d4,-(a7)
  28.     move.l    d3,-(a7)
  29.     move.l    d5,-(a7)
  30.     move.l    d2,-(a7)
  31.     move.l    a2,-(a7)
  32.     move.l    $9A0(a2),a0
  33.     jsr    (a0)
  34.     add.w    #$14,a7
  35.     movem.l    (a7)+,d2-d5/a2
  36.     rts
  37.  
  38.     SECTION "_null_quad:0",CODE
  39.  
  40.     rts
  41.  
  42. ;static void null_quad( GLcontext *ctx,
  43. _null_quad
  44. L8
  45. ;   (void) ctx;
  46. ;   (void) v0;
  47. ;   (void) v1;
  48. ;   (void) v2;
  49. ;   (void) v3;
  50. ;   (void) pv;
  51.     rts
  52.  
  53.     SECTION "_gl_set_quad_function:0",CODE
  54.  
  55.  
  56. ;void gl_set_quad_function( GLcontext *ctx )
  57.     XDEF    _gl_set_quad_function
  58. _gl_set_quad_function
  59.     move.l    4(a7),a0
  60. L9
  61. ;   if (ctx->RenderMode==GL_RENDER) 
  62.     move.l    a0,a1
  63.     add.l    #$E964,a1
  64.     move.l    (a1),d0
  65.     cmp.l    #$1C00,d0
  66.     bne.b    L15
  67. L10
  68. ;      if (ctx->NoRaster) 
  69.     move.l    a0,a1
  70.     add.l    #$E99C,a1
  71.     tst.b    (a1)
  72.     beq.b    L12
  73. L11
  74. ;         ctx->Driver.QuadFunc = null_quad;
  75.     move.l    #_null_quad,$9A4(a0)
  76.     bra.b    L14
  77. L12
  78. ;      else if (ctx->Driver.QuadFunc) 
  79.     tst.l    $9A4(a0)
  80.     bne.b    L14
  81. L13
  82. ;         ctx->Driver.QuadFunc = basic_quad;
  83.     move.l    #_basic_quad,$9A4(a0)
  84. L14
  85.     bra.b    L16
  86. L15
  87. ;      ctx->Driver.QuadFunc = basic_quad;
  88.     move.l    #_basic_quad,$9A4(a0)
  89. L16
  90.     rts
  91.  
  92.     END
  93.